[INFO] cloning repository https://github.com/ndunnett/codecrafters-interpreter-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ndunnett/codecrafters-interpreter-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fndunnett%2Fcodecrafters-interpreter-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fndunnett%2Fcodecrafters-interpreter-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 52273631c2fe392616908bab2701c88a50e9a321
[INFO] testing ndunnett/codecrafters-interpreter-rust against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fndunnett%2Fcodecrafters-interpreter-rust" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ndunnett/codecrafters-interpreter-rust
[INFO] finished tweaking git repo https://github.com/ndunnett/codecrafters-interpreter-rust
[INFO] tweaked toml for git repo https://github.com/ndunnett/codecrafters-interpreter-rust written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ndunnett/codecrafters-interpreter-rust on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ndunnett/codecrafters-interpreter-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a66af6464ea0e65a4f44752f200d0fcfb36456ef2a904d3de8395d9568f79c74
[INFO] running `Command { std: "docker" "start" "-a" "a66af6464ea0e65a4f44752f200d0fcfb36456ef2a904d3de8395d9568f79c74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a66af6464ea0e65a4f44752f200d0fcfb36456ef2a904d3de8395d9568f79c74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a66af6464ea0e65a4f44752f200d0fcfb36456ef2a904d3de8395d9568f79c74", kill_on_drop: false }`
[INFO] [stdout] a66af6464ea0e65a4f44752f200d0fcfb36456ef2a904d3de8395d9568f79c74
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 764725a587f99e4441783e8faf22ac88844d9b40f0cea8c333483e082872857f
[INFO] running `Command { std: "docker" "start" "-a" "764725a587f99e4441783e8faf22ac88844d9b40f0cea8c333483e082872857f", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling bytes v1.7.1
[INFO] [stderr]    Compiling syn v2.0.75
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling codecrafters-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parsing.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn peek(&self) -> &Token {
[INFO] [stdout]     |             ^^^^^     ^^^^^^
[INFO] [stdout]     |             |         ||
[INFO] [stdout]     |             |         |the same lifetime is hidden here
[INFO] [stdout]     |             |         the same lifetime is elided here
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn peek(&self) -> &Token<'_> {
[INFO] [stdout]     |                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parsing.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn previous(&self) -> &Token {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^
[INFO] [stdout]     |                 |         ||
[INFO] [stdout]     |                 |         |the same lifetime is hidden here
[INFO] [stdout]     |                 |         the same lifetime is elided here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn previous(&self) -> &Token<'_> {
[INFO] [stdout]     |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parsing.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn consume(&mut self, type_: &TokenType) -> Option<&Token> {
[INFO] [stdout]     |                ^^^^^^^^^                               ^^^^^^
[INFO] [stdout]     |                |                                       ||
[INFO] [stdout]     |                |                                       |the same lifetime is hidden here
[INFO] [stdout]     |                the lifetime is elided here             the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn consume(&mut self, type_: &TokenType) -> Option<&Token<'_>> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.46s
[INFO] running `Command { std: "docker" "inspect" "764725a587f99e4441783e8faf22ac88844d9b40f0cea8c333483e082872857f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "764725a587f99e4441783e8faf22ac88844d9b40f0cea8c333483e082872857f", kill_on_drop: false }`
[INFO] [stdout] 764725a587f99e4441783e8faf22ac88844d9b40f0cea8c333483e082872857f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 979c372c80444a9078a8f57002d27244b0400cb42928c5f2aec9c8e02f34e887
[INFO] running `Command { std: "docker" "start" "-a" "979c372c80444a9078a8f57002d27244b0400cb42928c5f2aec9c8e02f34e887", kill_on_drop: false }`
[INFO] [stderr]    Compiling codecrafters-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parsing.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn peek(&self) -> &Token {
[INFO] [stdout]     |             ^^^^^     ^^^^^^
[INFO] [stdout]     |             |         ||
[INFO] [stdout]     |             |         |the same lifetime is hidden here
[INFO] [stdout]     |             |         the same lifetime is elided here
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn peek(&self) -> &Token<'_> {
[INFO] [stdout]     |                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parsing.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn previous(&self) -> &Token {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^
[INFO] [stdout]     |                 |         ||
[INFO] [stdout]     |                 |         |the same lifetime is hidden here
[INFO] [stdout]     |                 |         the same lifetime is elided here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn previous(&self) -> &Token<'_> {
[INFO] [stdout]     |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parsing.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn consume(&mut self, type_: &TokenType) -> Option<&Token> {
[INFO] [stdout]     |                ^^^^^^^^^                               ^^^^^^
[INFO] [stdout]     |                |                                       ||
[INFO] [stdout]     |                |                                       |the same lifetime is hidden here
[INFO] [stdout]     |                the lifetime is elided here             the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn consume(&mut self, type_: &TokenType) -> Option<&Token<'_>> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.98s
[INFO] running `Command { std: "docker" "inspect" "979c372c80444a9078a8f57002d27244b0400cb42928c5f2aec9c8e02f34e887", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "979c372c80444a9078a8f57002d27244b0400cb42928c5f2aec9c8e02f34e887", kill_on_drop: false }`
[INFO] [stdout] 979c372c80444a9078a8f57002d27244b0400cb42928c5f2aec9c8e02f34e887
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 17f17016191e2430a16affa6a5fc59a7ca23d7f5eebc8df90be31cdb502a1185
[INFO] running `Command { std: "docker" "start" "-a" "17f17016191e2430a16affa6a5fc59a7ca23d7f5eebc8df90be31cdb502a1185", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parsing.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |     fn peek(&self) -> &Token {
[INFO] [stderr]     |             ^^^^^     ^^^^^^
[INFO] [stderr]     |             |         ||
[INFO] [stderr]     |             |         |the same lifetime is hidden here
[INFO] [stderr]     |             |         the same lifetime is elided here
[INFO] [stderr]     |             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 107 |     fn peek(&self) -> &Token<'_> {
[INFO] [stderr]     |                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parsing.rs:111:17
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn previous(&self) -> &Token {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^
[INFO] [stderr]     |                 |         ||
[INFO] [stderr]     |                 |         |the same lifetime is hidden here
[INFO] [stderr]     |                 |         the same lifetime is elided here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn previous(&self) -> &Token<'_> {
[INFO] [stderr]     |                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parsing.rs:121:16
[INFO] [stderr]     |
[INFO] [stderr] 121 |     fn consume(&mut self, type_: &TokenType) -> Option<&Token> {
[INFO] [stderr]     |                ^^^^^^^^^                               ^^^^^^
[INFO] [stderr]     |                |                                       ||
[INFO] [stderr]     |                |                                       |the same lifetime is hidden here
[INFO] [stderr]     |                the lifetime is elided here             the same lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 121 |     fn consume(&mut self, type_: &TokenType) -> Option<&Token<'_>> {
[INFO] [stderr]     |                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `codecrafters-interpreter` (bin "codecrafters-interpreter" test) generated 3 warnings (run `cargo fix --bin "codecrafters-interpreter" -p codecrafters-interpreter --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codecrafters_interpreter-10548bea52763f92)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test evaluation::eval_tests::arithmetic_2 ... ok
[INFO] [stdout] test evaluation::eval_tests::arithmetic_1 ... ok
[INFO] [stdout] test evaluation::eval_tests::booleans_and_nil ... ok
[INFO] [stdout] test evaluation::eval_tests::error_relational ... ok
[INFO] [stdout] test evaluation::control_flow_tests::for_statements ... ok
[INFO] [stdout] test evaluation::eval_tests::error_unary ... ok
[INFO] [stdout] test evaluation::eval_tests::error_binary_1 ... ok
[INFO] [stdout] test evaluation::control_flow_tests::if_statements ... ok
[INFO] [stdout] test evaluation::eval_tests::equality_operators ... ok
[INFO] [stdout] test evaluation::control_flow_tests::else_statements ... ok
[INFO] [stdout] test evaluation::eval_tests::parentheses ... ok
[INFO] [stdout] test evaluation::eval_tests::relational_operators ... ok
[INFO] [stdout] test evaluation::eval_tests::string_concatenation ... ok
[INFO] [stdout] test evaluation::control_flow_tests::else_if_statements ... ok
[INFO] [stdout] the expression below is invalid
[INFO] [stdout] 79baz
[INFO] [stdout] test evaluation::eval_tests::unary_operators ... ok
[INFO] [stdout] 22
[INFO] [stdout] test evaluation::eval_tests::strings_and_numbers ... ok
[INFO] [stdout] test evaluation::state_tests::block_syntax ... ok
[INFO] [stdout] test evaluation::control_flow_tests::logical_or ... ok
[INFO] [stdout] test evaluation::state_tests::expression_statements ... ok
[INFO] [stdout] test evaluation::state_tests::declare_variables ... ok
[INFO] [stdout] test evaluation::state_tests::print_multiple ... ok
[INFO] [stdout] test evaluation::state_tests::assignment_operation ... ok
[INFO] [stdout] test evaluation::state_tests::var_runtime_errors ... ok
[INFO] [stdout] test evaluation::state_tests::redeclare_variables ... ok
[INFO] [stdout] test evaluation::control_flow_tests::nested_if_statements ... ok
[INFO] [stdout] test evaluation::state_tests::print ... ok
[INFO] [stdout] test parsing::expr_tests::arithmetic_1 ... ok
[INFO] [stdout] test parsing::expr_tests::arithmetic_2 ... ok
[INFO] [stdout] test evaluation::control_flow_tests::while_statements ... ok
[INFO] [stdout] test evaluation::state_tests::initialise_variables ... ok
[INFO] [stdout] test parsing::expr_tests::booleans_and_nil ... ok
[INFO] [stdout] test parsing::expr_tests::comparison ... ok
[INFO] [stdout] test parsing::expr_tests::parentheses ... ok
[INFO] [stdout] test parsing::expr_tests::equality ... ok
[INFO] [stdout] test parsing::expr_tests::syntactic_errors ... ok
[INFO] [stdout] test parsing::expr_tests::number_literals ... ok
[INFO] [stdout] test parsing::stmt_tests::block_syntax ... ok
[INFO] [stdout] inner hello
[INFO] [stdout] outer hello
[INFO] [stdout] test scanning::tests::braces ... ok
[INFO] [stdout] test parsing::expr_tests::string_literals ... ok
[INFO] [stdout] test scanning::tests::lexical_errors ... ok
[INFO] [stdout] test scanning::tests::multiline_errors ... ok
[INFO] [stdout] test scanning::tests::number_literals ... ok
[INFO] [stdout] test scanning::tests::other_single_chars ... ok
[INFO] [stdout] test scanning::tests::negation_and_inequality ... ok
[INFO] [stdout] test scanning::tests::parentheses ... ok
[INFO] [stdout] test evaluation::state_tests::scopes ... ok
[INFO] [stdout] test scanning::tests::division_and_comments ... ok
[INFO] [stdout] test scanning::tests::relational_operators ... ok
[INFO] [stdout] test scanning::tests::string_literals ... ok
[INFO] [stdout] test scanning::tests::whitespace ... ok
[INFO] [stdout] test parsing::expr_tests::unary_operators ... ok
[INFO] [stdout] test scanning::tests::assignment_and_equality ... ok
[INFO] [stdout] test scanning::tests::identifiers ... ok
[INFO] [stdout] test parsing::stmt_tests::for_if_syntax ... ok
[INFO] [stdout] test evaluation::control_flow_tests::logical_and ... ok
[INFO] [stdout] test evaluation::eval_tests::error_binary_2 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "17f17016191e2430a16affa6a5fc59a7ca23d7f5eebc8df90be31cdb502a1185", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17f17016191e2430a16affa6a5fc59a7ca23d7f5eebc8df90be31cdb502a1185", kill_on_drop: false }`
[INFO] [stdout] 17f17016191e2430a16affa6a5fc59a7ca23d7f5eebc8df90be31cdb502a1185
